package com.balakitbbs.mobile;

/** 手机服务端接口 */

public class MobileController {
//	@Autowired
//	private PersonService personservice;
//	@Autowired
//	private FilesService filesservice;
//	@Autowired
//	private MainpostService mainpostservice;
//	@Value("#{configProperties['uploadpath']}")
//	private String uploadpath;
//
//
//	/** 注册
//	 * @param username
//	 * @param password
//	 * @param sex
//	 * @return */
//	@RequestMapping("/mobile/{username}/{password}/{sex}/signin")
//	@ResponseBody
//	public Map addPerson(@PathVariable String username, @PathVariable String password, @PathVariable String sex) {
//		Map map = new HashMap();
//		try {
//			Person p = new Person();
//			p.setUsername(username);
//			List<Person> selectPersonsByPOJO = personservice.selectPersonsByPOJO(p);
//			if (selectPersonsByPOJO != null && !selectPersonsByPOJO.isEmpty()) {
//				map.put("m", "用户名已存在");
//				map.put("s", "0");
//				return map;
//			}
//			String id = UUID.randomUUID().toString();
//			p = new Person();
//			p.setId(id);
//			p.setUsername(username);
//			p.setPassword(EncryptUtils.encodeMD5String(username) + EncryptUtils.encodeMD5String(username + password));
//			p.setSex(sex);
//			p.setCdate(new Date());
//			p.setIslock("0");
//			p.setPersontoken(EncryptUtils.encodeMD5String(new Date().getTime() + "Token"));
//			p.setPersonsecret(EncryptUtils.encodeMD5String(new Date().getTime() + "Secret"));
//			personservice.addPerson(p);
//			map.put("s", "1");
//		} catch (Exception e) {
//			e.printStackTrace();
//			map.put("m", "错误");
//			map.put("s", "0");
//		}
//		return map;
//	}
//
//	/** 登录
//	 * @param username
//	 * @param password
//	 * @return */
//	@RequestMapping("/mobile/{username}/{password}/login")
//	@ResponseBody
//	public Map getPerson(@PathVariable String username, @PathVariable String password) {
//		Map map = new HashMap();
//		try {
//			Person p = new Person();
//			p.setPassword(EncryptUtils.encodeMD5String(username) + EncryptUtils.encodeMD5String(username + password));
//			List<Person> personList = personservice.selectPersonsByPOJO(p);
//			if (personList != null && personList.size() > 0) {
//				String lt = EncryptUtils.encodeMD5String(new Date().getTime() + "Token");
//				String ls = EncryptUtils.encodeMD5String(new Date().getTime() + "Secret");
//				Person person = personList.get(0);
//				person.setLogintoken(lt);
//				person.setLoginsecret(ls);
//				person.setLastlogin(new Date());
//				personservice.updatePerson(person);
//				map.put("s", "1");
//				map.put("ut", person.getPersontoken());
//				map.put("us", person.getPersonsecret());
//				map.put("lt", lt);
//				map.put("ls", ls);
//			} else {
//				map.put("s", "0");
//				map.put("m", "用户不存在");
//			}
//		} catch (Exception e) {
//			e.printStackTrace();
//			map.put("s", "0");
//			map.put("s", "错误");
//		}
//		return map;
//	}
//
//	/** 上传
//	 * @param f
//	 * @param request
//	 * @return
//	 * @throws Exception */
//	@RequestMapping("/mobile/upload")
//	@ResponseBody
//	public Map upload(MultipartFile file, HttpServletRequest request) throws Exception {
//		Map map = new HashMap();
//		try {
//			String filename = file.getOriginalFilename();
//			String contentType = file.getContentType();
//			long size = file.getSize();
//
//			// 从上传文件中获取一个输入流
//			InputStream is = file.getInputStream();
//
//			// 定位到file目录 request.session.ServletContext.getRealPath("/file")
//			String newFilename = UUID.randomUUID() + filename.substring(filename.lastIndexOf("."));
//			String path = uploadpath + "/" + newFilename;
//			File outfile = new File(path);
//
//			OutputStream os = new FileOutputStream(outfile);
//
//			int len;
//			byte[] data = new byte[1024];
//			while ((len = is.read(data)) != -1)
//				os.write(data, 0, len);
//			is.close();
//			os.close();
//			Files files = new Files();
//			String filesid = UUID.randomUUID().toString();
//			files.setId(filesid);
//			files.setName(newFilename);
//			files.setOldname(filename);
//			files.setPath(path);
//			files.setExtension(filename.substring(filename.lastIndexOf(".") + 1));
//			files.setLength(outfile.length());
//			files.setCdate(new Date());
//			filesservice.addFiles(files);
//			map.put("s", "1");
//			map.put("id", filesid);
//			map.put("path", path);
//
//		} catch (Exception e) {
//			e.printStackTrace();
//			map.put("s", "0");
//			map.put("s", "错误");
//
//		}
//		return map;
//
//	}
//
//	/** 下载
//	 * @param filename
//	 * @param request
//	 * @param response
//	 * @throws Exception */
//	@RequestMapping("/mobile/{filesId}/download")
//	public void download(@PathVariable String filesId, HttpServletRequest request, HttpServletResponse response) throws Exception {
//		Files filesById = filesservice.selectFilesById(filesId);
//		File file = new File(filesById.getPath());
//		response.setContentType("multipart/form-data");
//		response.setHeader("content-Disposition", "attachment;filename=" + filesById.getOldname());
//		InputStream is = new FileInputStream(file);
//		OutputStream os = response.getOutputStream();
//		int len;
//		byte[] data = new byte[1024];
//		while ((len = is.read(data)) != -1)
//			os.write(data, 0, len);
//		is.close();
//		os.close();
//	}
//	
//	/** 下载缩略图
//	 * @param filename
//	 * @param request
//	 * @param response
//	 * @throws Exception */
//	@RequestMapping("/mobile/{filesId}/getThumbnail")
//	public void getThumbnailByID(@PathVariable String filesId,@RequestParam int width, HttpServletRequest request, HttpServletResponse response) throws Exception {
//		Files filesById = filesservice.selectFilesById(filesId);
//		File file = new File(filesById.getPath());
//		BufferedImage prevImage;
//		try {
//			prevImage = ImageIO.read(new FileInputStream(file));
//			BufferedImage image = new BufferedImage(width, width, BufferedImage.TYPE_INT_BGR);
//			Graphics graphics = image.createGraphics();
//			graphics.drawImage(prevImage, 0, 0, width, width, null);
//			String content = "attachment; filename=" + filesById.getOldname();
//			response.addHeader("Content-Disposition", content);
//			response.setContentType("image/"+filesById.getExtension().toLowerCase());
//			response.addHeader("pragma", "NO-cache");
//			response.addHeader("Cache-Control", "no-cache");
//			response.addDateHeader("Expries", 0);
//
//			ServletOutputStream outStream = response.getOutputStream();
//			JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outStream);
//			encoder.encode(image);
//			outStream.close();
//
//		} catch (IOException e) {
//			System.out.println("文件错了");
//			e.printStackTrace();
//		}
//	}
//	
//	/**
//	 * 分页查询主贴
//	 * @param pageIndex
//	 * @param pageSize
//	 * @return
//	 */
//	@RequestMapping("/mobile/{pageIndex}/{pageSize}/getMainPostPage")
//	@ResponseBody
//	public Map getMainPostbyPage(@PathVariable int pageIndex, @PathVariable int pageSize) {
//		Map map = new HashMap();
//		try {
//			int selectMainpostCount = mainpostservice.selectMainpostCount();
//			Page page = new Page(pageIndex, pageSize, selectMainpostCount);
//			SearchPageUtil spu = new SearchPageUtil();
//			spu.setPage(page);
//			map.put("data", mainpostservice.selectMainpostsByPage(spu));
//			map.put("page", page);
//			map.put("s", "1");
//		} catch (Exception e) {
//			e.printStackTrace();
//			map.put("s", "0");
//			map.put("s", "错误");
//		}
//		return map;
//	}
//	/*
//	 * 增加主贴
//	 */
//	@RequestMapping("/mobile/{creater}/addMainPost")
//	@ResponseBody
//	public Map addMainPost(@PathVariable String creater, @RequestParam String title, @RequestParam String content) {
//		Map map = new HashMap();
//		try {
//			Mainpost mp = new Mainpost();
//			mp.setId(UUID.randomUUID().toString());
//			mp.setCreatperson(creater);
//			mp.setTitle(title);
//			mp.setContent(content);
//			mp.setIspass("1");
//			mp.setCdate(new Date());
//			mainpostservice.addMainpost(mp);
//			map.put("s", "1");
//		} catch (Exception e) {
//			e.printStackTrace();
//			map.put("s", "0");
//			map.put("s", "错误");
//		}
//		return map;
//	}
//
}
